#ifndef __IMESSAGEOPERATOR_H__
#define __IMESSAGEOPERATOR_H__

/**
*@file       IMessageOperator.h
*@brief      interface of the message operator
*
*@author     graywind
*@version    1.0.0.0
*@data       2012/03/27
*/

///interface of the operator
class IMessageOperator
{
public:
    ///@brief     send server notify message
    ///param[in]  session_id    identifier of the session
    ///retval     void
    virtual void SendNotify(int session_id) = 0;
    ///@brief     store message
    ///param[in]  session_id    identifier of the session
    ///param[in]  pMsgBuffer    buffer in bytes
    ///param[in]  msgID         message id
    ///param[in]  msg_bytes     byte length of the buffer
    ///retval     void
    virtual void StoreMessage(int session_id, void* pMsgBuffer, unsigned long msgID, unsigned long msg_bytes) = 0;
    ///@brief     register to gateway server
    ///param[in]  session_id    identifier of the session
    ///retval     void
    virtual void RegisterServer(int session_id) = 0;
};

#endif